#pragma once
#include "DXAMLCommon.h"
#include "CXcpList.h"



class CHwndHostManager
{
public: 
	static HRESULT Create(struct ICoreServices * pcs, CHwndHostManager * * ppHwndHostManager);
	~CHwndHostManager();
	HRESULT RegisterHwndHost(struct IHwndHost * pHwndHost);
	HRESULT UnregisterHwndHost(struct IHwndHost * pHwndHost);
	HRESULT Tick();
	HRESULT ResizeHwndHostsToFitPlugin();
	HRESULT TranslateAcceleratorW(void *, XUINT32 &);
	typedef void (*PFNENUMHOST)(struct IHwndHost * pHwndHost);
	HRESULT EnumHwndHosts(PFNENUMHOST  *, XINT64);
private: 
	CHwndHostManager();
	struct ICoreServices * m_pCore;
	CXcpList<IHwndHost> * m_pHwndHosts;
};
